package supplier

// 发送邮箱验证码请求
type SendCodeRequest struct {
	Email string `json:"email"`
}

// 发送邮箱验证码响应
type SendCodeResponse struct {
	Code    int32  `json:"code"`
	Message string `json:"message"`
}

// 实现用户注册请求参数
type RegisterRequest struct {
	Email string `json:"email"`
	Pass  string `json:"pass"`
	Code  string `json:"code"`
}

// 用户密码登陆
type LoginPass struct {
	Email string `json:"email"`
	Pass  string `json:"pass"`
}

// 用户验证码登陆
type LoginCode struct {
	Email string `json:"email"`
	Code  string `json:"code"`
}

// 首页数据
type SupplierIndexData struct {
	DailyOrderNumber   int    `json:"todayOrderNumber"`   //储存今日订单总数
	DailySalesTotal    string `json:"dailySalesTotal"`    //今日销售总额
	PreviousSalesTotal string `json:"previousSalesTotal"` //昨日销售总额

	CompletedOrder                   int `json:"completedOrder"`                   //已完成订单
	ShippedOrder                     int `json:"shippedOrder"`                     //已发货订单
	PendingDeliveryConfirmationOrder int `json:"pendingDeliveryConfirmationOrder"` //等待确认收货的订单
	CancelledOrder                   int `json:"cancelledOrder"`                   //已取消订单
	PendingShipmentOrder             int `json:"pending_shipment_order"`           //待发货订单
	OutOfStockRegistration           int `json:"outOfStockRegistration"`           //缺货登记

	ListedProduct           int `json:"listedProduct"`           //上架商品
	TightWarehouseInventory int `json:"tightWarehouseInventory"` //库房紧张
	AllProducts             int `json:"allProducts"`             //所有商品

	DailyBrowse    int `json:"dailyBrowse"`    //今日浏览
	PreviousBrowse int `json:"previousBrowse"` //昨日浏览
	MonthBrowse    int `json:"monthBrowse"`    //月浏览
	AllBrowse      int `json:"allBrowse"`      //总浏览
}

// 搜索商品请求
type SupplierSearchGoods struct {
	Email    string `json:"email"`
	KeyWords string `json:"keyWords"`
}

// 修改商品状态请求参数
type UpdateSupplierGoodsRequest struct {
	Email  string `json:"email"`
	Id     string `json:"id"`
	Status int    `json:"status"`
}

// 单个商品详情请求参数
type GetSupplierGoodsDetailRequest struct {
	Email string `json:"email"`
	Id    string `json:"id"`
}

type AddSupplierGoodsRequest struct {
	Name  string  `json:"name"`  //商品名称
	Pic   string  `json:"pic"`   //商品图片
	Desc  string  `json:"desc"`  //商品简介
	Price float64 `json:"price"` //商品价格
	Stock int     `json:"stock"` //商品库存 或 在订单表里当购买数量
	Unit  string  `json:"unit"`  //商品单位
}

type DeleteSupplierGoodsRequest struct {
	Email   string `json:"email"`
	GoodsId string `json:"GoodsId"`
}

// 实例化订单信息
type Order struct {
	Id          int         `json:"id"`           //订单编号
	Supplier    string      `json:"supplier"`     //商家账号
	User        string      `json:"user"`         //用户账号
	Amount      string      `json:"amount"`       //订单金额
	Status      int         `json:"status"`       //订单状态
	CreateTime  string      `json:"create_time"`  //订单创建时间
	Invoice     string      `json:"invoice"`      //发货单流水号
	Logistics   int         `json:"logistics"`    //物流方式
	LogisticsId string      `json:"logistics_id"` //物流单号
	Receipt     string      `json:"receipt"`      //收货时间
	ReceiptInfo UserAddress `json:"receiptInfo"`  //收件人信息
	GoodsInfo   []Good      `json:"goodsInfo"`    //购买当商品信息
	OperateInfo []Operate   `json:"operateInfo"`  //订单操作信息
}

/*
订单状态
0 代表已下单
1 代表商品已发货
2 代表商品已收货
3 代表待确认收货
4 代表订单取消
*/

// 用户的收货地址
type UserAddress struct {
	Name        string `json:"name"`        //收件人姓名
	PhoneNumber string `json:"phoneNumber"` //收件人手机号
	Address     string `json:"address"`     //收件人地址
}

// 订单操作实例
type Operate struct {
	User        string `json:"user"`        //操作人
	OperateTime string `json:"operateTime"` //操作时间
	OrderStatus int    `json:"orderStatus"` //订单状态
	Remark      string `json:"remark"`      //备注
}

// 实例化商品列表
type Good struct {
	Id      int      `json:"id"`      //商品编号
	Name    string   `json:"name"`    //商品名称
	Pic     string   `json:"pic"`     //商品图片
	Desc    string   `json:"desc"`    //商品简介
	Price   string   `json:"price"`   //商品价格
	Stock   int      `json:"stock"`   //商品库存 或 在订单表里当购买数量
	Unit    string   `json:"unit"`    //商品单位
	Sales   int      `json:"sales"`   //商品销量
	Status  int      `json:"status"`  //商品状态
	Browses []Browse `json:"browses"` //储存浏览人数
}

// 用来存储用户浏览记录
type Browse struct {
	TimeDate string `json:"time_date"` //日期
	Number   int    `json:"number"`    //储存浏览次数
}

type SearchSupplierOrderRequest struct {
	Email string `json:"email"`
	Id    string `json:"OrderId"`
}

type ModifySupplierGoodsRequest struct {
	Email string `json:"email"`
	Name  string `json:"name"`  //商品名称
	Pic   string `json:"pic"`   //商品图片
	Desc  string `json:"desc"`  //商品简介
	Price string `json:"price"` //商品价格
	Stock int    `json:"stock"` //商品库存 或 在订单表里当购买数量
	Unit  string `json:"unit"`  //商品单位
}

type SupplierDeliverOrderRequest struct {
	Email     string `json:"email"`
	OrderId   string `json:"orderId"`
	Deliver   string `json:"deliver"`
	DeliverId string `json:"deliverId"`
}

type SupplierChangeHeadRequest struct {
	Email string `json:"email"`
	Pic   string `json:"pic"`
}
